package com.hb.core.pojo.expert.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.hb.core.pojo.parent.MPCommonEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;

/**
 * @author jinhaolin
 * @date 2022/1/18 8:49
 **/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("expert_base")
@ApiModel(value = "ExpertBase对象", description = "专家库表，存储专家的基本信息")
public class ExpertBase extends MPCommonEntity {

    @ApiModelProperty(value = "专家身份证号")
    private String idCard;

    @ApiModelProperty(value = "所属企业")
    private Long orgId;

    @ApiModelProperty(value = "专家姓名")
    private String expertName;

    @ApiModelProperty(value = "性别（0，男；1，女）")
    private Integer sex;

    @ApiModelProperty(value = "出生日期")
    private LocalDate birthday;

    @ApiModelProperty(value = "职务")
    private String duty;

    @ApiModelProperty(value = "最高学历")
    private String education;

    @ApiModelProperty(value = "职称")
    private String professional;

    @ApiModelProperty(value = "是否在职")
    private Integer onworkFlag;

    @ApiModelProperty(value = "当前工作单位")
    private String company;

    @ApiModelProperty(value = "通讯地址")
    private String postAddress;

    @ApiModelProperty(value = "邮政编码")
    private String postcode;

    @ApiModelProperty(value = "所属行业")
    private String industry;

    @ApiModelProperty(value = "所在地区编码")
    private String areaCode;

    @ApiModelProperty(value = "所在地区，省")
    private Long province;

    @ApiModelProperty(value = "所在地区，市")
    private Long city;

    @ApiModelProperty(value = "所在地区，区")
    private Long county;

    @ApiModelProperty(value = "工作年限")
    private Integer workYear;

    @ApiModelProperty(value = "手机")
    private String phoneNumber;

    @ApiModelProperty(value = "其他联系方式")
    private String otherNumber;

    @ApiModelProperty(value = "入库时间")
    private LocalDate enterDate;

    @ApiModelProperty(value = "专家库类别（1，综合评标专家；2，政府采购评审专家）")
    private Integer baseType;

    @ApiModelProperty(value = "参评专业编号")
    private String majorCode;

    @ApiModelProperty(value = "是否主评专业")
    private Integer mainFlag;

    @ApiModelProperty(value = "是否可用")
    private Integer dmissonFlag;

    @Override
    public String paramsValid(String... fieldNames) {
        return super.paramsValid("expertName", "majorCode", "phoneNumber");
    }
}
